47 research outputs found

    Dependent Types for Nominal Terms with Atom Substitutions

    Get PDF
    Nominal terms are an extended first-order language for specifying and verifying properties of syntax with binding. Founded upon the semantics of nominal sets, the success of nominal terms with regard to systems of equational reasoning is already well established. This work first extends the untyped language of nominal terms with a notion of non-capturing atom substitution for object-level names and then proposes a dependent type system for this extended language. Both these contributions are intended to serve as a prelude to a future nominal logical framework based upon nominal equational reasoning and thus an extended example is given to demonstrate that this system is capable of encoding various other formal systems of interest

    A type-theoretic framework for certified model transformations

    Get PDF
    "We present a framework based on the Calculus of Inductive Constructions (CIC) and its associated tool the Coq proof assistant to allow certification of model transformations in the context of Model-Driven Engineering (MDE). The approached is based on a semi-automatic translation process from metamodels, models and transformations of the MDE technical space into types, propositions and functions of the CIC technical space. We describe this translation and illustrate its use in a standard case study." [Abstract

    Experiment with a type-theoretic approach to the verification of model transformations

    Get PDF
    "This paper presents ongoing work on the application of constructive type theory for safe development in Model-Driven Engineering. In particular, we put into practice a certification framework based on the Calculus of Inductive Constructions (CIC) as follows: we first describe methods for representing metamodels and specifications of model transformations as types and then outline principles for representing given transformations, written in a certain transformation language, as functions in CIC. Then properties of these functions are proven, including their correctness with respect to sufficiently expressive specifications, thereby providing a semiformal way to verify the original transformations. We carry out a concrete case taken from an on-line base of basic examples and patterns of use of the ATL transformation language, implementing it on machine using the Coq proof assistant." [Abstract

    Alpha-Structural Induction and Recursion for the Lambda Calculus in Constructive Type Theory

    Get PDF
    We formulate principles of induction and recursion for a variant of lambda calculus in its original syntax (i.e., with only one sort of names) where alpha-conversion is based upon name swapping as in nominal abstract syntax. The principles allow to work modulo alpha-conversion and implement the Barendregt variable convention. We derive them all from the simple structural induction principle on concrete terms and work out applications to some fundamental meta-theoretical results, such as the substitution lemma for alpha-conversion and the lemma on substitution composition. The whole work is implemented in Agda

    Behavioral refinements of UML-statecharts

    Get PDF
    In [SV08] we have proposed a formalism for specifying the behavior of software product lines using UML-statecharts. Using an order relation among statecharts which represents when a statechart has a more complex structure than another one, we de ne how to combine diferent extensions of the same statechart into an integral new one. In this paper, we prove that the proposed extension constitutes a behavioral re nement. That is, whenever we allow the possibility of extending a given statechart, the old behaviour is preserved and new behavior may be addedEn [SV08] proponemos un formalismo para especificar el comportamiento de líneas de productos de software utilizando UML-statecharts. Mediante una relación de orden entre statecharts que representa cuando un statechart tiene una estructura más compleja que otro, se define la forma de combinar diferentes extensiones de un mismo statechart en uno nuevo. En este trabajo probamos que la extensión propuesta constituye un refinamiento de comportamiento. Es decir, cada vez que se extiende un statechart, se preserva el comportamiento anterior, con la posibilidad de añadir nuevo comportamiento

    An institution for UML 2.0 state machines

    Get PDF
    The theory of institutions provides an elegant and robust framework for programming in the large and in particular for compositionality. It can be used to define an heterogeneous environment for the semantic definition of UML, consisting of a family of formalisms which capture various UML sublanguages, and morphisms that represent the expected semantic relationships between them. In this article we present an institution for UML 2.0 State Machines devised for collaborating with the definition of such environment. The semantics behind the institution is based on a previous work which deals with processing simple input events within a transition step. We also extend this semantics for handling sequences of events, and then for considering runs through the state machineLa teoría de instituciones provee un marco robusto y elegante para la programación de alto nivel y en particular para la composicionalidad. Puede ser utilizado para definir un ambiente heterogéneo para la especificación semántica de UML, el cual consiste de una familia de formalismos que capturan varios sublenguajes UML, y morfismos que representan las relaciones semánticas esperadas entre ellos. En este artículo se presenta una institución para el lenguaje de Máquinas de Estado de UML 2.0, ideada para colaborar con la definición del ambiente heterogéneo. La semántica detrás de la institución está basada en trabajos previos. Dicha semántica considera el procesamiento de un evento de entrada en el contexto de una transición de un paso. Adicionalmente extendemos la semántica para manejar secuencias de eventos, y además para considerar corridas a través de la máquina de estado

    Transformación de procesos de desarrollo de software tipo SPEM a procesos workflow : Una propuesta de caso de estudio: SmallRUP

    Get PDF
    Esta línea de investigación pretende aportar a la mejora de los procesos de desarrollo de software, en particular los especificados con el Software Process Engineering Metamodel versión 2 (SPEM). El caso de estudio propuesto consiste en transformar la especificación en SPEM de la metodología de desarrollo SmallRUP a una especificación de procesos que pueda ser utilizada como entrada de un motor workflow estándar. Para realizar esta transformación, se utilizará una transformación definida en el lenguaje Relations que forma parte de Query/Views/Transformations (QVT). Dicha transformación convierte una especificación en SPEM en una especificación de procesos en Business Process Modeling Notation (BPMN). La especificación BPMN, se transformará a su vez a una especificación en Business Process Execution Language (BPEL). Un vez obtenida la especificación de SmallRUP en BPEL, se la podrá utilizar como entrada a un motor workflow estándar, lo cual permitirá administrar la gestión de procesos de desarrollo que siguen la metodología SmallRUP con un motor workflow estándar.Eje: Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI

    Transformación de procesos de desarrollo de software tipo SPEM a procesos workflow : Una propuesta de caso de estudio: SmallRUP

    Get PDF
    Esta línea de investigación pretende aportar a la mejora de los procesos de desarrollo de software, en particular los especificados con el Software Process Engineering Metamodel versión 2 (SPEM). El caso de estudio propuesto consiste en transformar la especificación en SPEM de la metodología de desarrollo SmallRUP a una especificación de procesos que pueda ser utilizada como entrada de un motor workflow estándar. Para realizar esta transformación, se utilizará una transformación definida en el lenguaje Relations que forma parte de Query/Views/Transformations (QVT). Dicha transformación convierte una especificación en SPEM en una especificación de procesos en Business Process Modeling Notation (BPMN). La especificación BPMN, se transformará a su vez a una especificación en Business Process Execution Language (BPEL). Un vez obtenida la especificación de SmallRUP en BPEL, se la podrá utilizar como entrada a un motor workflow estándar, lo cual permitirá administrar la gestión de procesos de desarrollo que siguen la metodología SmallRUP con un motor workflow estándar.Eje: Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI
    corecore